package cn.hicard.auth.dao;

import java.util.List;

import cn.hicard.auth.entity.MgUserRole;

/**
 * [用户-角色]管理DAO接口
 * @author zhangy
 *
 */
public interface UserRoleDao {

	/**
	 * 根据用户主键，查询与用户相关的所有[用户*角色]
	 * @param pkUserinfo
	 * @return
	 * @throws Exception
	 */
	List<MgUserRole> getByUser(int pkUserinfo) throws Exception;

	/**
	 * 保存[用户*角色]
	 * @param userRoles
	 * @throws Exception
	 */
	void saveUserRoles(List<MgUserRole> userRoles)throws Exception;

	/**
	 * 根据用户主键删除[用户*角色]
	 * @param pkUserinfo
	 * @throws Exception
	 */
	void deleteByUser(int pkUserinfo) throws Exception;

	/**
	 * 根据角色主键删除[用户*角色]
	 * @param pkRole
	 */
	void deleteByRole(int pkRole)throws Exception ;

	/**
	 * 查询用户拥有的角色主键集合
	 * @param pkUserinfo
	 * @return
	 */
	List<Integer> findOwnRolePks(int pkUserinfo)throws Exception;


}
